Many types of input devices are presently available for performing operations in a computing system, such as buttons or keys, mice, trackballs, touch sensor panels, joysticks, touch screens and the like. Touch screens, in particular, are becoming increasingly popular because of their ease and versatility of operation as well as their declining price. Touch screens can include a touch sensor panel, which can be a clear panel with a touch-sensitive surface. The touch sensor panel can be positioned partially or completely in front of a display screen, or integrated partially or entirely within the display screen, so that at least a portion of the touch-sensitive surface covers at least a portion of the viewable area of the display screen. Touch screens can allow a user to make selections and move a cursor by simply touching the display screen via a finger or stylus. In general, the touch screen can recognize the touch and position of the touch on the display screen, and the computing system can interpret the touch and thereafter perform an action based on the touch event.
Touch sensor panels can be capable of detecting either single-touch events or multiple touch events, an example of which is described in Applicant's co-pending U.S. application Ser. No. 11/649,998 entitled “Proximity and Multi-Touch Sensor Detection and Demodulation,” filed on Jan. 3, 2007, the contents of which are incorporated by reference herein in their entirety for all purposes.
To provide a more uniform response from the touch sensor panel given the same amount of touch, the sensor output values can be calibrated or normalized by using offset values to compensate the raw no-touch output values for each sensor in the panel so that all sensor output values are normalized to approximately the same value. A periodic local baseline offset adjustment algorithm can then be employed to locally update the sensor offset values to account for variables such as temperature drift. However, when ungrounded objects such as water droplets or coins are present on the touch sensor panel, the periodic local baseline offset adjustment algorithm can generate inaccurate normalized results. Furthermore, factors such as temperature changes can rapidly skew the normalized sensor output values. In addition, when processing touch data to recognize gestures, it can be difficult to clearly identify and lock onto a particular dominant motion component as a preliminary step in recognizing a particular gesture.